In pharmaceutical, genomic, and proteomic research, drug development laboratories, and other biotechnology applications, automated liquid handlers are used to handle laboratory samples in a variety of laboratory procedures. For example, liquid handlers are used for biotechnological and pharmaceutical liquid assay procedures, compound distribution, microarray manufacturing, sample preparation for high pressure liquid chromatography, etc. An automated liquid handler has a bed that supports an array of sample receptacles such as tubes in one or more racks or an array of numerous sample containing wells in one or more microplates. For example, racks may be arranged to hold ninety-six receptacles arranged in an eight by twelve array, three hundred eighty-four receptacles arranged in a sixteen by twenty-four array, etc.
A typical liquid handler has a probe or an array of multiple probes that are moved into alignment with one or more receptacles placed in the bed. The probe performs liquid handling operations such as removing liquid from or adding liquid to the receptacles. The probe or probe array is generally carried on a support arm that may be movable in X, Y, and Z directions. An X-direction track may be provided along with a first carriage movable along the track to facilitate movement in the X-direction. A Y-axis track may be mounted on the first carriage, with a second carriage movable along this Y-axis track. A Z-axis track may in turn be carried by the second carriage, with the probe support movable along the Z-axis track. One or more motors and controllers may be provided to control the carriages to position the probes very precisely to deliver liquid to or to remove liquid from selected receptacles on the bed below the probe support. Examples of known liquid handlers generally consistent with this description can be found, for example, in U.S. Pat. No. 4,422,151. Additional liquid handler descriptions can be found in U.S. Pat. No. 5,988,236, U.S. Pat. No. 6,240,984, U.S. Pat. No. 6,666,065, and U.S. patent application Ser. No. 20040099334 assigned to the assignee of the present application, each of which is incorporated herein by reference.
Liquid chromatography, including high-pressure liquid chromatography (HPLC), is one example of an application in which automated liquid handlers are used. Liquid chromatography is useful in characterizing a sample through separation of its components by flow through a chromatographic column, followed by detection of the separated components with a flow-through detector. Some HPLC systems include an automated liquid handler to load samples. In these systems, the liquid handler moves the probe to load a sample from a sample container and then injects the sample into an injection port. A metal needle may be attached to the probe to facilitate extraction of the sample from the container and injection of the sample into the injection port.
In operation, one or more controllers may be provided to control the probe or probes of various instruments that provide liquid handling and/or liquid chromatography. The one or more controllers control both the movement and the operation of the probe. Operation of the probe includes tasks such as aspirating a specified amount of solution from a well, dispensing a specified amount of solution to a well, aspirating a specified amount of dilution liquid from a reservoir, rinsing the probe, injecting a specified amount of solution to a well, etc. The controller in practice may be a personal computer, a processor, circuitry embedded on a card or a microchip, or the like. The controller may be integrated with the instrument or physically separate from the instrument. Generally, the controller is a computer that executes an application program to control the probe movement and operation of the instrument or instruments. The application program is an organized list of instructions that, when executed, cause the instrument or instruments to behave in a predetermined manner. Prior controller applications were designed to control a specific device such as a specific liquid handler or liquid chromatography system that may include multiple instruments. As a result, separate application programs were required to interact with each device. What is needed is an application program that is independent of the device such that the same application program can be used to control different devices.
The term “target” refers to instrument components like tubes, vials, spots, or handles. Unlike tubes and vials, handles are positions on a rack that are not designed to hold liquid, but are instead used to provide a way to move a mobile rack using the instrument's probes. Targets are assigned to a zone. A group of targets placed to provide a function such as drain, inject, collect, sink, etc. form a zone. Zones are locations where the instrument moves to perform a particular action. Current devices can assign a target to a single zone. However, current devices do not provide the capability to assign a target to multiple zones. The function of a target may change as an application of the instrument is performed. Thus, what is needed is an application program that can assign a target to multiple zones.
In some instances, users of various devices require a use of the device in a mode that is different from the designed use. Additionally, it is important to test an application developed for a device prior to execution of the application using the device hardware to ensure that the application has been configured correctly. As a result, an application program may include a simulation mode of operation that sequences through the steps of the application identifying hardware limitations and allowing the user to identify errors in the application configuration. However, the typical simulation mode does not allow use of the device hardware in a mode that does not conform with the designed device usage limitations. Thus, what is needed, is an application program that allows the user to execute a simulation mode that permits the device hardware to be used in a mode that does not conform with designed usage.